widget: Add a defualt snapshot vfunc
authorBenjamin Otte <otte@redhat.com>
Thu, 17 Nov 2016 23:46:49 +0000 (00:46 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 17 Nov 2016 23:47:56 +0000 (00:47 +0100)
Just to avoid having to do NULL checks when calling
widget_class->snapshot. We were crashing with drawing areas who don't
have a draw or a snapshot vfunc (woot!).

gtk/gtkwidget.c

index c45f9a39ebf23e60aa36e9751588f228c6d7f0d1..a01a344455ec0e4b0fdd7109ab50b8645945f021 100644 (file)
@@ -949,6 +949,13 @@ gtk_widget_draw_marshallerv (GClosure     *closure,
   va_end (args_copy);
 }
 
+static void
+gtk_widget_real_snapshot (GtkWidget   *widget,
+                          GtkSnapshot *snapshot)
+{
+  /* nothing to do here */
+}
+
 static void
 gtk_widget_class_init (GtkWidgetClass *klass)
 {
@@ -1013,6 +1020,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
   klass->grab_notify = NULL;
   klass->child_notify = NULL;
   klass->draw = NULL;
+  klass->snapshot = gtk_widget_real_snapshot;
   klass->mnemonic_activate = gtk_widget_real_mnemonic_activate;
   klass->grab_focus = gtk_widget_real_grab_focus;
   klass->focus = gtk_widget_real_focus;